package com.ddw.wotcg.client.threejs.cameras;


/**
 * http://mrdoob.github.com/three.js/docs/54/#Reference/Cameras/
 * PerspectiveCamera
 * 
 * @author fungus1487
 * 
 */
public final class PerspectiveCamera extends Camera {
	
	public static native PerspectiveCamera create(double fov, double aspect,
			double near, double far) /*-{
		return new $wnd.THREE.PerspectiveCamera(fov, aspect, near, far);
	}-*/;
	
	protected PerspectiveCamera() {
	}
	
	public final Camera asCamera() {
		return cast();
	}
	
	public native double getAspect() /*-{
		return this.aspect;
	}-*/;
	
	public native double getFar() /*-{
		return this.far;
	}-*/;
	
	public native double getFov() /*-{
		return this.fov;
	}-*/;
	
	public native double getNear() /*-{
		return this.near;
	}-*/;
	
	public native void setLens(double focalLength, double frameSize) /*-{
		this.setLens(focalLength, frameSize);
	}-*/;
	
	public native void setViewOffset(double fullWidth, double fullHeight,
			double x, double y, double width, double height) /*-{
		this.setViewOffset(fullWidth, fullHeight, x, y, width, height);
	}-*/;
	
	public native void updateProjectionMatrix() /*-{
		this.updateProjectionMatrix();
	}-*/;
	
}
